603 research outputs found

    How to Correctly Deal With Pseudorandom Numbers in Manycore Environments - Application to GPU programming with Shoverand

    Get PDF
    International audienceStochastic simulations are often sensitive to the source of randomness that character-izes the statistical quality of their results. Consequently, we need highly reliable Random Number Generators (RNGs) to feed such applications. Recent developments try to shrink the computa-tion time by relying more and more General Purpose Graphics Processing Units (GP-GPUs) to speed-up stochastic simulations. Such devices bring new parallelization possibilities, but they also introduce new programming difficulties. Since RNGs are at the base of any stochastic simulation, they also need to be ported to GP-GPU. There is still a lack of well-designed implementations of quality-proven RNGs on GP-GPU platforms. In this paper, we introduce ShoveRand, a frame-work defining common rules to generate random numbers uniformly on GP-GPU. Our framework is designed to cope with any GPU-enabled development platform and to expose a straightfor-ward interface to users. We also provide an existing RNG implementation with this framework to demonstrate its efficiency in both development and ease of use

    OpenCL: A suitable solution to simplify and unify High Performance Computing developments: A survey of OpenCL’s abstraction layers and high-level APIs

    Get PDF
    International audienceManycore architectures are now available in a wide range of HPC systems. Going from CPUs to GPUs and FPGAs, modern hardware accelerators can be exploited using heterogeneous software technologies. In this chapter, we study the inputs that OpenCL offers to High Performance Computing applications, as a solution to unify developments. In order to overcome the lack of native OpenCL support for some architectures, we survey the third-party research works that propose a source-to-source approach to transform OpenCL into other parallel programming languages. We use FPGAs as a case study, because of their dramatic OpenCL support compared to GPUs for instance. These transformation approaches could also lead to potential works in the Model Driven Engineering (MDE) field that we conceptualize on this work. Moreover, OpenCL's standard API is quite rough, thus we also introduce several APIs from the simple high-level binder to the source code generator that intend to ease and boost the development process of any OpenCL application

    Excess noise characteristics of Al0.8Ga0.2As avalanche photodiodes

    Get PDF
    The avalanche noise characteristics of Al0.8Ga0.2 As have been measured in a range of p-i-n and n-i-p diodes with i-region widths ω varying from 1.02 to 0.02 μm. While thick bulk diodes exhibit low excess noise from electron initiated multiplication, owing to the large α/β ratio (1/k), the excess noise of diodes with ω < 0.31 μm were found to be greatly reduced by the effects of dead space. The thinnest diodes exhibit very low excess noise, corresponding to k = 0.08, up to a multiplication value of 90. In contrast to most III-V materials, it was found that both thick and thin Al0.8Ga0.2As multiplication layers can give very low excess noise and that electrons must initiate multiplication to minimize excess noise, even in thin structure

    DegenRev: Degeneracy-Based Full Backtranslation Algorithm for Oligopeptide

    Get PDF
    In order to design microarray oligonucleotides, in the context of new metabolic pathways discovery, it appears that a full backtranslation of oligopeptides is a promising approach. Protein to DNA reverse translation is a time-consuming task that can provide unreasonable quantities of data. This is why most current applications use genetic degenerated code or data mining-based techniques to select the best reverse translation of a short protein sequence called oligopeptide. When the purpose is only to design short oligos it is particularly interesting to have the complete sequences to solve the design problems of enzyme specific oligos for microarrays. In this paper, we revisit existing bioinformatics applications, which bring reverse translation solutions, and we present a new algorithm based on input oligopeptide degeneracy able to efficiently compute a full reverse translation. We propose an implementation with the C programming language and we show its performance statistics on simulated and real biological datasets

    Pseudo-Random Number Generation on GP-GPU

    Get PDF
    International audienceRandom number generation is a key element of stochastic simulations. It has been widely studied for sequential applications purposes, enabling us to reliably use pseudo-random numbers in this case. Unfortunately, we cannot be so enthusiastic when dealing with parallel stochastic simulations. Many applications still neglect random stream parallelization, leading to potentially biased results. Particular parallel execution platforms, such as Graphics Processing Units (GPUs), add their constraints to those of Pseudo-Random Number Generators (PRNGs) used in parallel. It results in a situation where potential biases can be combined to performance drops when parallelization of random streams has not been carried out rigorously. Here, we propose criteria guiding the design of good GPU-enabled PRNGs. We enhance our comments with a study of the techniques aiming to correctly parallelize random streams, in the context of GPU-enabled stochastic simulations

    On the Interoperability of DEVS components: On-Line vs. Off-Line Strategies

    Get PDF
    During the last years, the DEVS community provides many contributions towards the realization of a world-wide platform for collaborative Modeling & Simulation. The goal of such a platform would be to enable the sharing and reuse of models between scientists, as well as the seamless simulation of distributed and heterogeneous models. Therefore, one of the major research fields is the definition of architectures for integrating heterogeneous DEVS components, meaning simulators and/or models written in different frameworks and programming languages. In this work, we present three different strategies for providing such interoperability between DEVS components. The first focuses on standardizing exchanges between simulators, and has been explored in previous works. The two others strategies are more prospective; in keeping with Model-Driven Engineering, they place the model at the center of their architecture and make extensive use of model transformations. To make this possible, we defined a platform and language-independent format for describing and sharing DEVS models, called DEVS Markup Language

    Finding spot shape in cdna microarray by using a deformable grid and a Markov segmentation

    Get PDF
    L'intérêt de l'utilisation des biopuces cdna pour la génétique n'est plus à démontrer [EISE-99]. Cette technologie complexe arrive maintenant à une certaine maturité et son utilisation s'étend notamment dans la modélisation des relations gène expression individu. De ce fait, le défi actuel est l'amélioration de la précision des mesures réalisées de fac¸on à augmenter la qualité des expressions estimées et donc les résultats fonctionnels. En effet, le plus souvent les réponses cherchées jusqu'à présent étaient binaires, alors que maintenant la recherche s'oriente vers des mesures moins tranchées où l'on veut mesurer un quantum d'expression

    Reliable Initialization of GPU-enabled Parallel Stochastic Simulations Using Mersenne Twister for Graphics Processors

    Get PDF
    International audienceParallel stochastic simulations tend to exploit more and more computing power and they are now also developed for General Purpose Graphics Process Units (GP-GPUs). Conse-quently, they need reliable random sources to feed their applications. We propose a survey of the current Pseudo Random Numbers Generators (PRNG) available on GPU. We give a particular focus to the recent Mersenne Twister for Graphics Processors (MTGP) that has just been released. Our work provides empirically checked statuses designed to initialize a particular configuration of this generator, in order to prevent any potential bias introduced by the parallelization of the PRNG

    Prototyping Parallel Simulations on Manycore Architectures Using Scala: A Case Study

    Get PDF
    International audienceAt the manycore era, every simulation practitioner can take advantage of the com-puting horsepower delivered by the available high performance computing devices. From multicoreCPUs (Central Processing Unit) to thousand-thread GPUs (Graphics Processing Unit), severalarchitectures are now able to offer great speed-ups to simulations. However, it is often tricky toharness them properly, and even more complicated to implement a few declinations of the samemodel to compare the parallelizations. Thus, simulation practitioners would mostly benefit of asimple way to evaluate the potential benefits of choosing one platform or another to parallelizetheir simulations. In this work, we study the ability of the Scala programming language to fulfillthis need. We compare the features of two frameworks in this study: Scala Parallel Collections andScalaCL. Both of them provide facilities to set up a data-parallelism approach on Scala collections.The capabilities of the two frameworks are benchmarked with three simulation models as well asa large set of parallel architectures. According to our results, these two Scala frameworks shouldbe considered by the simulation community to quickly prototype parallel simulations, and choosethe target platform on which investing in an optimized development will be rewarding

    ShoveRand: a Model-Driven Framework to Easily Generate Random Numbers on GP-GPU

    Get PDF
    International audienceStochastic simulations are often sensitive to the randomness source that characterizes the statistical quality of their results. Consequently, we need highly reliable Random Number Generators (RNGs) to feed such applications. Recent developments try to shrink the computation time by using more and more General Purpose Graphics Processing Units (GP-GPUs) to speed-up stochastic simulations. Such devices bring new parallelization possibilities, but they also introduce new programming difficulties. Since RNGs are at the base of any stochastic simulation, they also need to be ported to GP-GPU. There is still a lack of well-designed implementations of quality-proven RNGs on GP-GPU platforms. In this paper, we introduce ShoveRand, a framework defining common rules to generate random numbers uniformly on GP-GPU. Our framework is designed to cope with any GPU-enabled development platform and to expose a straightforward interface to users. We also provide an existing RNG implementation with this framework to demonstrate its efficiency in both development and ease of use
    • …
    corecore